#ifndef _MAPRESIZER_
#define	_MAPRESIZER_

#include "Content/Map.hpp"
#include "SFML/Graphics.hpp"
class MapResizer{
public:
    struct ResizeInfo{
        sf::Rect<int> targetArea;
        
        int shiftX;
        int shiftY;
        int resizeX;
        int resizeY;
    };
private:
    static MapResizer::ResizeInfo* resizeByInfo(Map* map, MapResizer::ResizeInfo* info);
public:

    static bool needsResize(Map* map, int x, int y);
    static bool needsResize(Map* map, sf::Rect<int>* marquee);
    static bool canResize(Map* map, int x, int y);
    //static MapResizer::ResizeInfo* resizeByTile(Map* map, int x, int y);
    static MapResizer::ResizeInfo* resizeByMarquee(Map* map, sf::Rect<int>* marquee);
    
    //static MapResizer::ResizeInfo* resizeByAmount(Map* map, MapResizer::ResizeInfo* info);
    static void shrink(Map* map, MapResizer::ResizeInfo* info);
};

#endif

